// 收发货人代码规则，要有'+'号，左右至少一个任意字符
var shipperCodeReg = new RegExp(/^(.+)(\+)(.+)$/);
//字符加数字加下划线
var hnoReg = new RegExp(/^[_a-zA-Z0-9]+$/);
// var shipperCodeReg = new RegExp(/^([0-9a-zA-Z]+)(\+)([0-9a-zA-Z]+)$/);

layui.form.verify({
    phoneOrNull: function (value, item) { //value：表单的值、item：表单的DOM对象
        if (value != '') {
            if (!new RegExp(/^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/).test(value)) {
                return '请输入正确的手机号';
            }
        }
    },
    emailOrNull: function (value, item) {
        if (value != '') {
            if (!new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$").test(value)) {
                return '邮箱格式不正确';
            }
        }
    },
    telephoneOrNull: function (value, item) {
        if (value != '') {
            if (!new RegExp("^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$").test(value)) {
                return '座机格式不正确';
            }
        }
    },
    telephoneOrPhoneOrNull: function (value, item) {
        if (value != '') {
            if (!new RegExp("^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$").test(value) &&
                !new RegExp(/^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/).test(value)) {
                return '手机号或座机格式不正确';
            }
        }
    },
    zipcodeOrNull: function (value, item) {
        if (value != '') {
            if (!new RegExp("^[1-9][0-9]{5}$").test(value)) {
                return '邮政编码格式不正确';
            }
        }
    },
    addressOrNull: function (value, item) {
        if (value != '' && value.length > 200) {
            return '地址长度不能超过100个汉字';
        }
    },
    yymmddDate: function (value, item) {
        if (value != '') {
            if (!new RegExp("^(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])(?:29|30)|(?:0[13578]|1[02])31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)0229)$").test(value)) {
                return '请填写正确的日期格式：yymmdd';
            }
        }
    },
    NonNegativeInt: function (value, item) {
        if (value != '') {
            if (!new RegExp("^[1-9]\\d*$").test(value)) {
                return '请输入大于0的正整数';
            }
        }
    },
    customsOrNull: function (value, item) {
        if (value != '') {
            if (!new RegExp("^[0-9]*$").test(value) || value.length != 18) {
                return '请正确输入18位海关编号';
            }
        }
    },
    NonNegativeGtZero: function (value, item) {
        if (value != '') {
            if (!new RegExp("^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$").test(value)) {
                return '请输入大于或等于0数字';
            }
        }
    },
    consigneeCode: function (value, item) {
        if (value != '') {
            if (!shipperCodeReg.test(value)) {
                return "收货人代码不符合规则";
            }
        }
    },
    shipperCode: function (value, item) {
        if (value != '') {
            if (!shipperCodeReg.test(value)) {
                return "发货人代码不符合规则";
            }
        }
    },
    airportCode: function (value, item) {
        if (!isEmpty(value)) {
            if (value.length < 3) {
                return "机场三字码不符合规范";
            }
            var airport;
            $.hcPostAjax({
                url: basePath + "/hcDicAirport/selectByCode",
                async: false,
                data: {code: value},
                success: function (data) {
                    airport = data;
                }
            })
            if (isEmpty(airport)) {
                return "未找到机场数据，请填写正确的机场三字码";
            }
        }
    },
    hnoCode: function (value, item) {
        if (value != '') {
            if (!hnoReg.test(value)) {
                return "分单号不符合规则";
            }
        }
    }
});